home *** CD-ROM | disk | FTP | other *** search
/ Sun Solutions 1997 April to September / Sun Solutions CD - APR '97 - SEP '97 (704-3778-12 Rev. H)(Sun Microsystems, Inc.)(1997).iso / products / bin / httpd / Solaris_2 / AT-SunSolsearch.cgi.tmp < prev    next >
Text File  |  1997-03-07  |  4KB  |  122 lines

  1. #!/tmp/httpd/.excite/perl
  2.  
  3. $root = "/tmp/httpd/.excite";
  4. unshift(@INC, "$root/perllib");
  5. require 'architext_query.pl';
  6. require 'ctime.pl';
  7. $aurl = "/Excite/";
  8. $db = "SunSol";
  9. $index = "/tmp/httpd/.products/.bin/Excite/collections/SunSol";
  10. $hroot = "/tmp/httpd/.products";
  11. $binary = "/tmp/httpd/.excite/architextSearch";
  12. $urledit = 's|[\\\/]tmp[\\\/]httpd[\\\/].products[\\\/]|/|; ';
  13.  
  14. %form = &ArchitextQuery'readFormArgs;
  15. &ArchitextQuery'directQuery($form{'search'} || '(no search)',
  16.     $form{'mode'} || 'concept', $db, $form{'source'} || 'local', $form{'backlink'} || '*', $form{'bltext'} || '*');
  17. print "Content-type: text/html\n\n";
  18.  
  19. $myself = $aurl . '/AT-' . $db . 'search.cgi';
  20.  
  21.  
  22. if ($form{'notifySearchPage'}) {
  23.  
  24.     print qq(<html><head><title>EWS Querying</title></head>);
  25.     print qq(<body BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" ALINK="#0000FF"><h1> <img src="${aurl}pictures/AT-search_banner.gif"> </h1><p>);
  26.  
  27.     if (!open(QFORM, "$root/AT-query.html")) {
  28.         print "<h1>Couldn't find $root/AT-query.html</h1>";
  29.         print qq(<a href="$form{'notifyReturn'}">BACK</a>);
  30.         exit(0);
  31.     }
  32.     while (<QFORM>) {
  33.     s/CGI/$myself/;
  34.     s/BUTTON/$aurl\/pictures\/AT-search_button.gif/;
  35.     s/EXCITED/$aurl\/pictures\/AT-excited.gif/;
  36.     s/DOC/$aurl\/AT-queryhelp.html/;
  37.     s/QUERY/$form{'search'}/;
  38.     print "$_\n" unless ((/___SEPARATOR___/) || $skip_radio || (/___END___/));
  39.     $skip_radio = 0 if (/___END___/);
  40.         if (/___SEPARATOR___/) {
  41.         $skip_radio = 1;
  42.           print qq(<INPUT TYPE="hidden" NAME="notifyReturn" VALUE="$form{'notifyReturn'}">);
  43.         }
  44.     }
  45.     close(QFORM);
  46.     print qq(</body></html>);
  47.     exit(0);
  48. }
  49.  
  50. ## make NewSearch button point back to excite
  51. if ($form{'notifyReturn'}) {
  52.   $form{'sp'} = 'sp';
  53.   if ($form{'notifyReturn'} eq '_back_') {
  54.     $ENV{'HTTP_REFERER'} = $myself . '?notifySearchPage=yes';
  55.   }
  56.   else {
  57.     $ENV{'HTTP_REFERER'} = $form{'notifyReturn'};
  58.   }
  59. }
  60.  
  61. print "<html><head><title>Excite for Web Servers Search Results</title></head>\n";
  62. print "<body BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\" LINK=\"#FF0000\" ALINK=\"#0000FF\">";
  63. print "<h1><a href=\"http://www.excite.com/\"><img src=\"/Excite/pictures/AT-search_banner.gif\" BORDER=0></a></h1>\n";
  64.  
  65. $form{'root'} = $root;
  66. $search = &ArchitextQuery'setSearchString(%form);
  67. $searchtype = &ArchitextQuery'getSearchMode(%form);
  68.  
  69. ## put necessary additional information into %form
  70. $form{'aurl'} = $aurl;
  71. $form{'db'} = $db;
  72. $form{'index'} = $index;
  73. $form{'hroot'} = $hroot;
  74. $form{'binary'} = $binary;
  75. $form{'urledit'} = $urledit;
  76. $form{'searchpage'} = $ENV{'HTTP_REFERER'} if ($form{'sp'});
  77. $form{'docs'} = '1' unless $form{'docs'};
  78. $form{'psearch'} = $form{'psearch'} || $form{'search'};
  79. $form{'search'} = $search;
  80.  
  81. $errstr = 'success';
  82. ## This call checks to make sure that an index has been built for 
  83. ## this collection.  Also checks if we should use new query syntax
  84. $form{'newquery'} = &ArchitextQuery'checkForIndex(%form);
  85.  
  86. if ($searchtype eq 'confidence') {
  87.     ## Perform the query. This function doesn't print anything. 
  88.     ##Later commands will display the results.
  89.     ($errstr, @query_results) = &ArchitextQuery'MakeQuery(%form);
  90.     $docs = &ArchitextQuery'PrepareGather(*query_results);
  91.     $form{'docs'} = $docs;
  92.     &ArchitextQuery'showSearchMode($searchtype, %form) 
  93.     unless (($errstr eq 'summary') || ($errstr eq 'dump'));
  94.     &ArchitextQuery'showSearchString(%form) 
  95.     unless (($errstr eq 'summary') || ($errstr eq 'dump'));
  96.     &ArchitextQuery'HtmlList(*query_results, %form) if ($errstr eq 'success');
  97. } else {
  98.     ## subject group query
  99.     &ArchitextQuery'showSearchMode($searchtype, %form);
  100.     &ArchitextQuery'showSearchString(%form, 'gather', 'gather');
  101.     $errstr = &ArchitextQuery'MakeGather(%form);
  102.  
  103. }
  104.  
  105. if ($errstr eq 'summary') {
  106.         &ArchitextQuery'SummaryOutput($form{'stitle'} || '*',
  107.                       $form{'surl'} || '*',
  108.                       *query_results);
  109. } elsif ($errstr eq 'dump') {
  110.         &ArchitextQuery'DocumentOutput(*query_results);
  111. } else {
  112.         print &ArchitextQuery'queryError($errstr) 
  113.         unless ($errstr eq 'success');
  114. }
  115.  
  116. &ArchitextQuery'footer($aurl) if ($errstr eq 'success');
  117.  
  118.  
  119.  
  120.  
  121. print "</body></html>\n";
  122.